PR5 v0.5.0 - researchDoc + meetingCapture PatternAdapters - #5
Open
bettercallzaal wants to merge 1 commit into
Open
PR5 v0.5.0 - researchDoc + meetingCapture PatternAdapters#5bettercallzaal wants to merge 1 commit into
bettercallzaal wants to merge 1 commit into
Conversation
Until now only hermes-bug-fix existed. The framework was wired for multiple patterns but only one was shipped. PR5 widens applicability without touching the core: two new PatternAdapters that together cover the bulk of ZAO use cases (research docs + meeting capture). What ships: - src/patterns/research-doc.ts Matches: research / investigate / audit / look into / survey / compare Tools: WebFetch, WebSearch, Read, Write, Edit, Grep, Glob, Bash SystemPrompt: zao-research v2 workflow - dup-check, fetch ladder, FULL/PARTIAL/FAILED classification, recommendations-first decision table, Next Actions bridge. costCap: 5.0 (research goes deeper than a bug fix). - src/patterns/meeting-capture.ts Matches: meeting / transcript / recap / standup / extract action items + any media-file extension (.mp4, .m4a, .mov, .mp3, .wav, .opus, .flac) Tools: Bash, Read, Write, Edit, Grep, Glob SystemPrompt: /meeting v2 multi-pass schema - metadata, decisions, actions, quotes, research seeds, entity cross-check, confidence on every decision + action, ambiguous-owner surfacing rule. costCap: 3.0. Same shape as hermes-bug-fix - few-shot inject past memory hits into the systemPrompt, so the FileMemory loop from PR4 starts paying off across all three patterns the moment they accumulate runs. Router picks the right one when all three are registered: - "fix the type error in foo.ts" -> hermes-bug-fix - "research the best vector db" -> research-doc - "process /tmp/Arthur-x-Zaal.mp4" -> meeting-capture - "write a haiku about ducks" -> unknown Surface area: - src/patterns/research-doc.ts (~45 LOC) - src/patterns/meeting-capture.ts (~55 LOC) - src/index.ts - re-exports both - package.json - exports map adds ./patterns/research-doc + ./patterns/meeting-capture - tests/patterns.test.ts - 12 tests across keyword match, media-file match, prepare shape, few-shot injection, router multi-pattern pick Tests: 45/45 pass (+12 patterns). Known limit (PR6): the patterns ship the system prompts but do not yet own the post-completion side effects (the recap doc gets WRITTEN by the Hermes session via Write/Edit, but updating research/_meetings-index.md or appending to cowork-zaodevz/data/actions.json is still operator work). PR6 may add an optional `postComplete(outcome)` hook to PatternAdapter so patterns can codify the distribution step too. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR teaches
Until now only
hermes-bug-fixshipped. The framework was wired for multiple patterns but only one was implemented. PR5 widens applicability without touching the core: two new PatternAdapters covering the bulk of ZAO use cases.Patterns are the unit of "what kind of work can the orchestrator route". Each one packages a system prompt + tool whitelist + cost cap as one composable. New use case = one new file under
src/patterns/, no core changes.What ships
researchDocmeetingCaptureEach pattern's
prepare()few-shot injects past memory hits into its system prompt, so the FileMemory loop from PR4 starts paying off across all three patterns the moment they accumulate runs.Router picks the right one when all three are registered
The classifier walks each pattern's
matches()in registration order and returns the first hit; unknown means "operator, classify this for me". Tested intests/patterns.test.ts.System prompts encode the ZAO workflows
These are the workflows Zaal already runs in ZAOOS via slash-commands; they now ship as a portable PatternAdapter so any host of the framework gets the same discipline.
Verification
New tests (
tests/patterns.test.ts):Limit left for PR6
Patterns ship the system prompts but don't yet own the post-completion side effects. A meeting recap gets WRITTEN by the Hermes session via Write/Edit, but updating
research/events/_meetings-index.mdor appending tocowork-zaodevz/data/actions.jsonis still operator work. PR6 adds an optionalpostComplete(outcome)hook to PatternAdapter so patterns can codify distribution too.Lands on merge
v0.5.0after PR4 → PR5 cascade🤖 Generated with Claude Code